package com.hmall.user.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.hmall.user.domain.dto.LoginFormDTO;
import com.hmall.user.domain.po.User;
import com.hmall.user.domain.vo.UserLoginVO;

/**
 * 用户业务接口
 * 继承自MyBatis-Plus的IService，提供通用CRUD功能
 * 定义用户登录和余额扣款等自定义业务方法
 */
public interface IUserService extends IService<User> {

    /**
     * 用户登录
     * @param loginFormDTO 登录表单DTO（包含用户名、密码）
     * @return 登录成功后的用户信息和Token
     */
    UserLoginVO login(LoginFormDTO loginFormDTO);

    /**
     * 账户余额扣款
     * @param pw        用户支付密码
     * @param totalFee  扣款金额（单位：分）
     */
    void deductMoney(String pw, Integer totalFee);
}
